{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 228,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-12T04:46:54.589163Z",
     "start_time": "2018-11-12T04:46:54.571759Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    }
   ],
   "source": [
    "import os, sys, codecs\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "%pylab inline\n",
    "import seaborn as sns; sns.set()\n",
    "sns.set_style(\"whitegrid\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 595,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-18T08:40:59.839598Z",
     "start_time": "2018-11-18T08:40:59.531997Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7b5dd350>"
      ]
     },
     "execution_count": 595,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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g2KxWCw++uijxbVr1yZVTHJk9+7dxU984hPF3/3d3y3++Mc/VhdJzOc+97nigw8+WDx27FixWCwWBwcHi8Wi+zbVd+zYseKSJUuKP/7xj4vFYrHY19dX/OAHP1gcHR1VH6mKH/zgB8V9+/aN35vHTFb/slI39czOwMGDB2PPnj2xfPnyiIhYvnx57NmzZ7xnDCptzpw5cckll4z//4Mf/GDs27cvdu/eHY2NjbFkyZKIiLjxxhtjx44dSRWTnHjjjTfiz//8z+P+++8fP6YukoQjR47EN7/5zfjUpz4Vs2bNioiIefPmuW+TmLq6uvjFL34RERG/+MUvYv78+TE0NKQ+UhVLliyJ1tbWCccmux5m6Vo5O+kCZNnAwECcffbZUV9fHxER9fX1MX/+/BgYGIi5c+cmXDry5tixY/GP//iPceWVV8bAwECce+6546/NnTs3jh07FocPH445c+YkWEpq2V//9V/H9ddfH+edd974MXWRJPT398ecOXNi48aN8f3vfz9OP/30+NSnPhWnnXaa+zZVN2vWrPirv/qruPPOO+Od73xnHDlyJL7yla94jiRRk9W/YrGYmbqpZxZqxOc+97l45zvfGX/4h3+YdFHIoeeffz52794dN910U9JFgRgdHY3+/v747d/+7finf/qn+NM//dO4++6745e//GXSRSOHfv3rX8ff/M3fxGOPPRbf/va348tf/nJ8+tOfVh+hDPTMzkBra2vs378/RkdHo76+PkZHR+P1119/Wzc+VFpXV1f813/9Vzz++ONRV1cXra2tsW/fvvHXDx06FHV1dXrCqJgf/OAH8ZOf/CSuuuqqiIh47bXX4hOf+ETccsst6iJV19raGrNnzx4fIrd48eJobm6O0047zX2bquvr64vXX3892tvbIyKivb09mpqaorGxUX0kMZPlmGKxmJm6qWd2Bs4666xoa2uLrVu3RkTE1q1bo62tLXXd79S2hx9+OHbv3h2PPvpovOMd74iIiEWLFsWvfvWreO655yIi4utf/3pce+21SRaTGvfJT34ynnnmmfjWt74V3/rWt+Kcc86Jv/3bv43bb79dXaTq5s6dG5dcckk8++yzEfHmqpwHDx6M888/332bqjvnnHPitddei//8z/+MiIif/OQncfDgwXj3u9+tPpKYyXJMljLOrGKxWEy6EFn2k5/8JNauXRs///nP48wzz4yurq74zd/8zaSLRU68+OKLsXz58jj//PPjtNNOi4iI8847Lx599NH4t3/7t1i/fn2MjIzEu971rviLv/iLmDdvXsIlJi+uvPLKePzxx+PCCy9UF0lEf39/fPazn43Dhw/H7Nmz49Of/nRcccUV7tsk4p//+Z9j06ZN4wuS3XPPPbFs2TL1karYsGFD7Ny5Mw4cOBDNzc0xZ86c2LZt26T1Lyt1U5gFAAAgcwwzBgAAIHOEWQAAADJHmAUAACBzhFkAAAAyR5gFAAAgc4RZAAAAMkeYBQAAIHP+HzR0+G0KRQaIAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_loss = codecs.open('./example.log').readlines()[-100:]\n",
    "train_loss = [float(x.split('\\t')[-1][:-2]) for x in train_loss]\n",
    "\n",
    "plt.figure(figsize=(16, 8))\n",
    "plt.scatter(range(len(train_loss)), train_loss)\n",
    "# plt.title('Train loss')\n",
    "# plt.xlabel('Batch')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 596,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-18T08:41:04.461769Z",
     "start_time": "2018-11-18T08:41:04.011850Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/lib/python2.7/site-packages/seaborn/axisgrid.py:2065: UserWarning: The `size` parameter has been renamed to `height`; pleaes update your code.\n",
      "  warnings.warn(msg, UserWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.PairGrid at 0x7ac910d0>"
      ]
     },
     "execution_count": 596,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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0tW9P+VyKXNml1MqnTyWy6V0de+vdmkA1BiB3Ayn0wAAAFOjb2AwDfV1E8411Nelf2CwShUBUKsEcjOcTgMAAEyN1uamDI+MTTg3PDKWluamKlUEQK0SyM1wOg0AADA1OlcuzuhoJceOj6ZSOXkcHa2kc+XiapcGQI0RyM1wOg0AADA1Otpbs6lzWRbMa8xrQ6NZMK8xm2zoAMBbUNguqy+++GI2b96cw4cPZ/78+dm6dWsuvPDCCdccPHgwf/AHf5De3t6Mjo5mxYoV+cM//MOUy+Vs27Ytf/M3f5OWlpYkyc///M9ny5YtRZVfszraW5POZenq3p/+gcG02GUVAADeso72Vn1pAE5bYYHcli1bsnHjxqxfvz4PP/xwbrvttnzhC1+YcM3999+fiy66KJ///OczMjKSjRs3ZufOnfm1X/u1JMn73//+fOITnyiq5BlDpwEAAADgzFHIlNWDBw+mp6cna9euTZKsXbs2PT09GRgYmHBdqVTK0aNHc+LEiRw/fjwjIyNpbRUkAQAAADBzFDJCrre3N62tramrO7nbZ11dXVpaWtLb25vm5ubx62644YbceOON+eVf/uUMDQ3lN37jN7J8+fLxxx999NF84xvfyHnnnZcbb7wxF1988aTq2Lt379S8oDPM7t27q10CzGjaGEwvbQymlzYG00sbg+lVK23sh/OrU1HYlNVT8fjjj+ed73xn/vqv/zpHjx7Nddddl8cffzxr1qzJtddemw9/+MOpr6/PN7/5zdxwww157LHHsmDBglO+/5IlS9LQ0DCNr6B4u3fvnvQPHTh12hhML20Mppc2BtNLG4PpNZPbWCFTVtva2tLX15exsbEkydjYWPr7+9PW1jbhui9+8Yu56qqrMmvWrMydOzerVq3K008/nSQ577zzUl9fnyR573vfm7a2tnzve98ronwAAAAAmDKFBHLnnHNO2tvbs2PHjiTJjh070t7ePmG6apIsWrQof//3f58kOX78eL71rW/lHe94R5Kkr69v/Lp9+/bl3//93/NTP/VTRZQPAAAAAFOmsCmrt99+ezZv3pz77rsv8+bNy9atW5Mk1113XW666aYsXbo0t956a7Zs2ZJ169ZlbGwsK1asyDXXXJMk+fSnP53nnnsus2bNSn19fe65556cd955RZUPAAAAAFOisEDuoosuykMPPfSG8w888MD4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Zrgnn3wyV155ZXbt2pVVq1blzjvvTJIcP348H/nIR7J+/fr80z/9U9asWZOdO3eOP6+npye33npr7rjjjjz99NPZsGFDbrjhhhw/fjwXXHBBPvrRj+ZjH/tYhoaGcuutt+bqq6/OihUrqvUyAQBqhkAOAGCGW758eS699NLU1dVl/fr146Pcnn322YyMjOSDH/xg6uvrs2bNmixdunT8eV/+8pezYcOGvPvd705dXV2uvvrq1NfX55lnnkmSXHPNNbngggtyzTXXpL+/P7//+79fldcHAFBrbOoAADDDnXvuueNfz5kzJ8PDwxkdHU1/f39aW1tTKpXGH1+4cOH41wcOHMhXvvKVfPGLXxw/NzIykv7+/vHvr7nmmlx//fW58847M3v27Gl+JQAAM4NADgDgLHXeeeelr68vlUplPJQ7cOBAzj///CRJW1tbPvzhD+f666//H59/9OjR3H333fn1X//1bNu2LatXr878+fMLqx8AoFaZsgoAcJZ6z3vek3K5nC984QsZGRnJzp07J2z48IEPfCBf+tKX8uyzz6ZSqWRwcDDd3d157bXXkiR33XVXlixZkrvuuisrV67Mli1bqvVSAABqikAOAOAsNXv27Gzbti1/93d/l0suuSSPPfZYLr/88vHHly5dmjvvvDN33HFHfuEXfiGrV69OV1dXkuTrX/96/uEf/iG33357kmTz5s3p6enJV7/61Wq8FACAmlKqVCqVahcBAAAAAGcLI+QAAAAAoEACOQAAAAAokEAOAAAAAAokkAMAAACAAgnkAAAAAKBAAjkAAAAAKJBADgAAAAAKJJADAAAAgAIJ5AAAAACgQP8Pg20vtGD3KZQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1260x504 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_loss = pd.DataFrame({'index': range(len(train_loss)), 'loss': train_loss})\n",
    "\n",
    "sns.pairplot(train_loss, x_vars=['index'], y_vars='loss', size=7, kind='reg', aspect=2.5,)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-10T16:54:22.414563Z",
     "start_time": "2018-11-10T16:54:21.911246Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'Accuracy curve')"
      ]
     },
     "execution_count": 167,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl0AAALxCAYAAABmXBO+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd4VHXe///XzJAILDVCCh2zlEgTBKQjJEhLSEhCiYhSlRt3KYsCwlcFRDFZF3BR12VFvF2BlQgECE1DESWAsrcNKQLSQkIoCZBAIMlkfn/wc67N0lImnxSej+vyujJzzpzznsx16dNzzpxYHA6HQwAAAChS1uIeAAAA4H5AdAEAABhAdAEAABhAdAEAABhAdAEAABhAdAEAABhAdAEAABhAdAEocj179lR8fHxxjwEAxYroAoB7yM7OLu4RAJQBRBeAYrVy5Ur16tVL7du317hx45ScnCxJcjgceuONN9SxY0e1adNGQUFB+uWXXyRJX375pfr166fWrVura9euWrJkyV2337dvX7Vu3Vr9+vXTzz//LElq0qSJTp486Vxv+vTpWrBggSRp79696tatmxYvXqzOnTvrpZdeUt++fbV9+3bn+tnZ2erQoYNze99//72GDh2qtm3basCAAdq7d69rf1EASr1yxT0AgPvX7t279Ze//EUffvihGjVqpMjISP3pT3/SsmXL9PXXX2vfvn3asmWLKleurF9//VWVK1eWJM2cOVMLFy5U27ZtdfnyZSUkJNx2+5s2bdKiRYv07rvvqkWLFjp16pTKlcvbv/YuXLigy5cva/v27crJydEHH3yg2NhY9ejRQ5L09ddfq3r16mrWrJmSk5P13HPPKSoqSl27dtXu3bs1YcIEbdq0SR4eHq75ZQEo9TjSBaDYrF+/XmFhYWrWrJnc3d31pz/9Sd9//70SEhJUrlw5Xb16Vb/++qscDod8fX3l6ekpSSpXrpyOHj2q9PR0Va1aVc2aNbvt9j/77DONGTNGLVu2lMViUf369VW7du08zWa1WjVhwgS5u7urfPnyCgoK0rZt25SRkeGcvX///pKktWvXqlu3burevbusVqs6d+6s5s2b68svv3TBbwlAWUF0ASg2586dyxVBv/vd71StWjUlJyerY8eOGjZsmObMmaOOHTvq5ZdfVnp6uiTpr3/9q7788kv16NFDTz31lL777rvbbj8pKUn16tUr0GzVq1fXAw884Hxcv359+fr6avv27crIyNC2bdsUFBQkSUpMTNTmzZvVtm1b5z///ve/df78+QLtG0DZxOlFAMXG09NTZ86ccT6+du2aLl26JC8vL0nS008/raeffloXL17UpEmT9MEHH2jSpElq2bKl/va3vykrK0vLli3TpEmTbntUycfHR6dOnbrtvitUqOA8aiVJ58+fd+5XkiwWyy2vCQwMVGxsrHJycvT73/9e9evXd+4nODhYc+fOLdgvAsB9gSNdAIzIysrSjRs3nP9kZ2crMDBQq1ev1sGDB5WZman58+erZcuWqlOnjn788Uf98MMPysrKUoUKFeTu7i6r1arMzEytW7dOaWlpcnNz0+9+9ztZrbf/V1l4eLg+/PBD7d+/Xw6HQydPnnRGXtOmTRUbGyu73a6dO3fq22+/ved76Nevn3bt2qUVK1YoMDDQ+fyAAQO0fft2ffXVV7Lb7bpx44b27t2rs2fPuuaXB6BM4EgXACOeffbZXI/HjRunyZMna+LEifrjH/+oK1euqHXr1s5vEF69elVvvPGGEhIS5O7uri5dumj06NGSbl5D9dprr8lut6thw4b685//fNt99u3bV5cuXdKUKVOcpzKjoqJUu3ZtzZw5U9OnT9eyZcsUEBCggICAe74HT09PPfLII/r222+1cOFC5/M+Pj5677339Oc//1lTpkyR1WpVy5YtNWvWrAL+tgCURRaHw+Eo7iEAAADKOk4vAgAAGEB0AQAAGEB0AQAAGEB0AQAAGFAivr14/fp17d+/XzVr1pTNZivucQAAAO7Ibrfr/Pnzat68ucqXL5/n15WI6Nq/f7+GDRtW3GMAAADk2bJly9S2bds8r18ioqtmzZqSbg7v7e1dzNMAAADc2dmzZzVs2DBnv+RViYiu304pent7q06dOsU8DQAAwL3l95IoLqQHAAAwgOgCAAAwoEScXgQAACVHTk6OEhISdPXq1eIepVi5ubnJ09NTVapUccn2iC4AAJDLhQsXZLFY1KRJE1mt9+dJMYfDoYyMDJ05c0aSXBJeeYqu8ePHKyEhQVarVRUrVtTLL78sPz+/XOssWrRIy5cvl6enpySpTZs2evXVVws9IAAAMOvSpUtq0KDBfRtckmSxWFSxYkXVrl1biYmJ5qIrMjJS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KSnJ+Xjbtm2qWrWqqlWrlmu9Pn36KDo6Wjk5OUpJSVFcXJx69+7t+okBAABKoXte05WRkaGJEycqIyNDVqtVVatW1fvvvy+LxaKxY8dqwoQJatGihYKDg/XDDz/oiSeekCQ9//zzqlu3bpG/AQAAgNLgntFVo0YNrVy58rbL/vGPfzh/ttlsmj17tusmAwAAKEO4Iz0AAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIABRBcAAIAB5e61QmpqqqZOnapTp07J3d1d9evX15w5c+Th4ZFrvenTpys+Pl7Vq1eXJPXp00f/8z//UzRTAwAAlDL3jC6LxaIxY8bosccekyRFRkbqrbfe0htvvHHLus8++6yeeuop108JAABQyt3z9GK1atWcwSVJjzzyiBITE4t0KAAAgLImX9d05eTkaMWKFerZs+dtly9dulRBQUEaP368jh075pIBAQAAyoJ7nl78T6+99poqVqx421OIkydPVs2aNWW1WhUTE6MxY8YoLi5ONpvNZcMCAACUVnk+0hUZGamTJ09q4cKFslpvfZmXl5fz+ZCQEF27dk1nz5513aQAAAClWJ6ia/78+dq/f7/effddubu733ad5ORk589fffWVrFarvLy8XDMlAABAKXfP04tHjhzR3//+dzVo0EBDhw6VJNWpU0fvvvuugoODtXjxYnl5eWnatGm6ePGiLBaLKlWqpL/97W8qVy5fZy8BAADKrHtWUaNGjXT48OHbLlu7dq3z548++shlQwEAAJQ13JEeAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAgHL3WiE1NVVTp07VqVOn5O7urvr162vOnDny8PDItV5GRoZeeukl/fzzz7LZbJo2bZp69OhRZIMDAACUJvc80mWxWDRmzBht2bJF69evV926dfXWW2/dst6SJUtUqVIlffHFF3r//ff1//7f/9PVq1eLZGgAAIDS5p7RVa1aNT322GPOx4888ogSExNvWW/Tpk0aMmSIJKlBgwZq3ry5du7c6cJRAQAASq98XdOVk5OjFStWqGfPnrcsS0xMVO3atZ2PfXx8dPbs2cJPCAAAUAbkK7pee+01VaxYUU899VRRzQMAAFAm5Tm6IiMjdfLkSS1cuFBW660vq1Wrls6cOeN8nJSUJG9vb9dMCQAAUMrlKbrmz5+v/fv3691335W7u/tt1+nTp48+/fRTSdKJEyf0008/qWvXrq6bFAAAoBS7Z3QdOXJEf//733Xu3DkNHTpUwcHBev755yVJwcHBSk5OliSNHj1aV65cUa9evfTcc89pzpw5qlSpUtFODwAAUErc8z5djRo10uHDh2+7bO3atc6fK1asqL/+9a+umwwAAKAM4Y70AAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABhBdAAAABuQpuiIjI9WzZ081adJEv/zyy23XWbRokTp27Kjg4GAFBwdr9uzZLh0UAACgNCuXl5X8/f319NNPa9iwYXddLyQkRNOmTXPJYAAAAGVJnqKrbdu2RT0HAABAmebSa7o2bNigoKAgjRo1St99950rNw0AAFCq5elIV14MHTpU48aNk5ubm3bt2qXx48dr48aNql69uqt2AQAAUGq57EhXzZo15ebmJknq3LmzfHx8dOTIEVdtHgAAoFRzWXQlJyc7fz548KDOnDmjhg0bumrzAAAApVqeTi/OnTtXn3/+uS5cuKCRI0eqWrVq2rBhg8aOHasJEyaoRYsWmj9/vn7++WdZrVa5ubkpKipKNWvWLOr5AQAASgWLw+FwFPcQCQkJ8vf319atW1WnTp3iHgcAAOCOCtot3JEeAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAAKILAADAgHtGV2RkpHr27KkmTZrol19+ue06drtds2fPVkBAgHr16qXo6GiXDwoAAFCa3TO6/P39tWzZMtWuXfuO66xfv16nTp3S559/rk8//VSLFi1SQkKCSwcFAAAoze4ZXW3btpWPj89d19m4caMGDRokq9UqDw8PBQQEaPPmzS4bEgAAoLRzyTVdSUlJqlWrlvOxj4+Pzp4964pNAwAAlAlcSA8AAGCAS6LLx8dHiYmJzsdJSUny9vZ2xaYBAADKBJdEV58+fRQdHa2cnBylpKQoLi5OvXv3dsWmAQAAyoR7RtfcuXPVrVs3nT17ViNHjlT//v0lSWPHjtVPP/0kSQoODladOnX0xBNPaPDgwXr++edVt27dop0cAACgFLE4HA5HcQ+RkJAgf39/bd26VXXq1CnucQAAAO6ooN3ChfQA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XQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQAAAAYQXQDybfjw4WrXrp0yMzOLexQAKDWILgD5kpCQoH379slisWjr1q1G952dnW10f4VV2uYFULSILgD5EhMTo1atWmngwIGKiYnJtez69et688031aNHDz366KOKiIjQ9evXJUn79u3T0KFD1bZtW3Xv3l2rV6+WdPOoWXR0tHMbq1evVkREhPNxkyZNtGzZMj3xxBN64olF7t1AAAAgAElEQVQnJElz585V9+7d1aZNG4WGhmrfvn3O9e12u95//30FBASodevWCg0NVVJSkmbPnq0333wz17zjxo3TRx99dNv3eeTIEY0cOVLt27dXp06d9P7770uSpk+frgULFjjX27t3r7p16+Z83LNnTy1evFhBQUF65JFHtHjxYk2YMCHXtufOnau5c+dKktLS0jRjxgx16dJFXbt21YIFC2S32+/yCQAorcoV9wAASpe1a9dqxIgRatWqlYYMGaILFy6oRo0akqTIyEgdPXpU//rXv1SjRg398MMPslqtOnPmjMaOHavXXntNvXv3Vnp6us6ePZvnfcbFxWnlypUqX768JKlFixZ6/vnnVblyZX388ceaOHGitm3bpgceeEBLly7Vhg0btHjxYjVs2FCHDx9W+fLlNXDgQI0fP15Tp06V1WpVSkqKdu/e7Yyf/5Senq6RI0dq1KhRev/995WVlaVjx47led7f9l+9enVdvHhR7777rtLT01WpUiXZ7XZt3rxZ77zzjqSbEffggw/q888/V0ZGhp577jn5+Pho6NChed4fgNKBI10A8mzfvn1KTExU37591bx5c9WtW1exsbGSpJycHK1atUozZ86Ul5eXbDab2rRpI3d3d8XGxqpTp04KDAyUm5ubqlevLj8/vzzv99lnn1W1atWc0RUcHKzq1aurXLlyGjVqlDIzM3X8+HFJUnR0tCZOnKiHHnpIFotFTZs2VfXq1dWyZUtVrlxZu3fvliRt3LhR7du3dwbjf9qxY4dq1KihUaNG6YEHHlClSpXUqlWrPM87fPhw+fj4qHz58qpdu7YefvhhxcXFSZL27Nmj8uXL65FHHtGFCxf05ZdfasaMGapYsaIefPBBjRgxQhs2bMjzvgCUHhzpApBnMTEx6ty5szw8PCRJgYGBWrNmjUaMGKHU1FTduHFDdevWveV1SUlJqlevXoH36+Pjk+vxkiVL9Nlnn+ncuXOyWCxKT09XamqqJOns2bN33NfAgQO1bt06de7cWevWrdPTTz992/VcPW9gYKBiY2MVEhKi2NhYBQYGSpISExOVnZ2tLl26ONfNycm55fUAygaiC0CeXL9+XZs2bVJOTo46d+4sScrMzNSVK1d06NAhNW7cWA888IBOnz6tpk2b5nqtj4+Pfvzxx9tut0KFCsrIyHA+vnDhwi3rWCwW58/79u3TBx98oI8++kiNGjWS1WpVu3bt5HA4JEne3t46deqUGjdufMt2BgwYoMDAQB06dEjHjh1TQEDAbWfy8fHRxo0b7zjvb9ep5WVeSerbt68iIyN19uxZffHFF/r000+ds7q7u2vPnj0qV45/HQNlHacXAeRJXFycbDabNmzYoJiYGMXExGjjxo1q27atYmJiZLVaFRYWpnnz5ik5OVl2u13fffedMjMzFRQUpPj4eG3cuFHZ2dlKTU3VwYMHJUl+fn764osvlJGRoZMnT+qzzz676xxXr16VzWaTh4eHsrOz9c477yg9Pd25fNCgQXr77bd14sQJORwOHTp0yHkUzNvbWy1atNCLL76oJ554wnm68r89/vjjOn/+vD766CNlZmYqPT1dP/zwg3PeL7/8UpcuXdL58+f1v//7v/f83Xl4eKh9+/Z66aWXVKdOHfn6+kqSPD091blzZ7355ptKT09XTk6OTp06pW+++ebeHwiAUofoApAna9asUWhoqGrVqqWaNWs6/xk2bJjWr1+v7OxsTZs2TY0bN1Z4eLjat2+vt956Szk5OapVq5b+8Y9/aOnSpWrfvr1CQkJ06NAhSdIzzzwjNzc3derUSdOmTVNQUNBd5/jtW369e/dWz5499cADD+Q6HTdy5Ej17dtXo0aNUps2bTRz5kzduHHDuTwkJES//PKLgoOD77iPSpUq6cMPP9T27dvVuXNn9e7dW3v37pV083qypk2bqmfPnho1apT69euXp99fYGCg4uPjnacWfxMVFaWsrCz169dP7dq104QJE3T+/Pk8bRNA6WJx/HZMHgDuA99++61efPFFbd++/ZbTgABQlDjSBeC+kZWVpY8//ljh4eEEFwDjiC4A94Vjx46pXbt2On/+vEaMGFHc4wC4D3F6EQAAwACOdAEAABhQIm4Mc/36de3fv181a9aUzWYr7nEAAADuyG636/z582revPkdbz1zOyUiuvbv369hw4YV9xgAAAB5tmzZMrVt2zbP65eI6KpZs6akm8N7e3sX8zQAAAB3dvbsWQ0bNszZL3lVIqLrt1OK3t7eqlOnTjFPAwAAcG/5vSSKC+kBAAAMILoAAAAMKBGnFwEAQG5ZWVlKSEjQ9evXi3uU+5bNZlO1atVUo0YNWa2FP05FdAEAUAIlJCSocuXKatCgAX+2qhg4HA5lZWUpOTlZCQkJqlevXqG3yelFAABKoOvXr+vBBx8kuIqJxWKRu7u7ateuratXr7pkm0QXAAAlFMFV/FxxWtG5LZdtCQAAAHfENV0AAOCuBg0apMzMTGVlZenEiRNq1KiRJOnhhx/WvHnz8rWt0aNHa/bs2Xm+L+fBgwc1ffp0SdLly5d19epV1apVS5I0dOhQRURE5Gv/v/nss8/00Ucf6ddff9Xs2bM1aNCgAm0nP4guAABwV9HR0ZJuXtwfFhamtWvX3nFdu91+15uGLlmyJF/79vPzc+4vOjpa8fHxWrBgQb62cTvNmzfX22+/rUWLFhV6W3lFdAEAgAKLj49XVFSUGjdurEOHDmnKlClKTU3VJ598ouzsbFksFk2fPl2PPfaYJKlbt25aunSpfH19FRERodatW+u7775TcnKygoKCNHny5HztPz09XbNnz9ahQ4fkcDgUHh6uESNGSJIGDx6s1q1ba9++fbpy5YqCg4P1hz/8QZLUtGlTSWavmyO6AAAo4bbtO6UvvjlVJNvu1b6eerYt3O0QDh8+rDlz5qhly5aSpNTUVIWEhEiSjh49qjFjxmjHjh23fW1ycrKWLVum9PR0BQQEKDw8XHXr1s3zvhcuXKjy5ctr/fr1unLligYNGqSmTZuqQ4cOkqSTJ09q5cqVysjIUHh4uNq0aaNOnToV6v0WFBfSAwCAQvH19XUGl3QzdEaNGqXAwEBNmTJFycnJSklJue1r+/btK6vVqipVqqhhw4Y6ffp0vva9e/duDR48WJJUpUoV9enTR7t373YuHzhwoGw2mypVqqQ+ffpoz549BXiHrsGRLgAASriebQt/NKooVaxYMdfjyZMn65VXXlGPHj1kt9vVqlUrZWZm3va17u7uzp+tVquys7OLdNbixJEuAADgUmlpac5vJ65cuVJZWVlFtq+OHTs6L/RPS0vT5s2bc50+jImJkd1uV3p6urZs2eI87VgciC4AAOBSM2bM0HPPPaeBAwcqOTlZlStXLrJ9TZo0SdeuXVNQUJAiIiIUERHhvGhfkurXr6/Bgwdr4MCB6t+/vzPIVq9erW7dumnbtm3685//rG7duunUqaK5bu43FofD4SjSPeRBQkKC/P39tXXr1jzftwMAgLLs4MGD8vPzK+4xSrXBgwdr0qRJhb5w/r8/i4J2C0e6AAAADOBCegAAUCatXLmyuEfIhSNdAAAABhBdAAAABuQ7unbs2KGBAwcqKChITz31lPMmZsePH9eQIUPUu3dvDRkyRCdOnHD1rAAAAKVWvqLr8uXLmjZtmubPn6/169dr0KBBmjVrliTp1Vdf1ZNPPqktW7boySef1CuvvFIU8wIAAJRK+YqukydPqkaNGmrYsKEkqXv37vr666918eJFHThwQIGBgZKkwMBAHThw4I63/AcAAKXHmDFjtGLFilzPORwO+fv765tvvrnra4cPH67t27fnei41NVXBwcEKDg5Wr1691KpVK+fjBQsWFHjOL7/8UqGhoWrevLneeuutAm+nqOTr24sNGzbUhQsX9OOPP6ply5Zav369JCkpKUleXl6y2WySJJvNJk9PTyUlJcnDw8P1UwMAAGPCwsK0dOlSRUREOJ/bu3evrFar2rVrl+/tVa9eXWvXrnVuJzIyUqtXry70nPXr19frr7+uDRs2FHpbRSFf0VW5cmUtWLBA8+bN040bN9StWzdVqVJF165dK6r5AABAMfP399esWbN07Ngx+fr6Srp5R/fQ0FBZLBbt3r1bCxcu1I0bN2S32zVu3Dj179+/wPvLzs5WVFSU4uPjJUndunXTlClTZLPZ9MILL6hChQo6cuSIUlJS1KFDB7388styc3NTgwYNJEmbN2+W3W4v9Pt2tXzfp6tTp07OO7teuHBBS5YsUe3atZWcnCy73S6bzSa73a5z587Jx8fH5QMDAHC/Sftxh9J+2FYk267cqqcqt3z8ruu4u7srKChIq1at0tSpU5Wenq64uDht3LhRkvTwww9r+fLlstlsunDhgkJDQ9WlSxdVrVq1QDOtWLFCx44d05o1a+RwODR69GitWrVKgwcPliT99NNPWr58udzc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vFhJSUny8vKSzWaTJNlsNnl6eiopKYnoAgAAUD6v6crOztbf//53vffee9q+fbv+9re/adKkSbp27VpRzQcAAFAm5Cu6Dh48qHPnzunRRx+VJD366KOqUKGCHnjgASUnJ8tut0uS7Ha7zp07Jx8fH9dPDAAAUArlK7q8vb119uxZ/frrr5Ju/mHJixcvqn79+vLz81NsbKwkKTY2Vn5+fpxaBAAA+P/l65qumjVratasWZo4caIsFosk6Y033lC1atU0a9YsTZ8+Xe+9956qVKmiyMjIIhkYAACgNMr3txcHDBigAQMG3PK8r6+voqOjXTIUAABAWcMd6QEAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwgugAAAAwol5+VExIS9Pzzzzsfp6WlKT09Xd98842OHz+u6dOn69KlS6pWrZoiIyPVoEEDV88LAABQKuUruurUqaO1a9c6H7/++uuy2+2SpFdffVVPPvmkgoODtXbtWr3yyiv6+OOPXTstAABAKVXg04uZmZlav369wsLCdPHiRR04cECBgYGSpMDAQB04cEApKSkuGxQAAKA0K3B0bdu2TV5eXmrWrJmSkpLk5eUlm80mSbLZbPL09FRSUpLLBgUAACjNChxdq1atUlhYmCtnAQAAKLMKFF3Jycn69ttvFRQUJEny8fFRcnKy8/ouu92uc+fOycfHx3WTAgAAlGIFiq41a9aoe/fuql69uiTpwQcflJ+fn2JjYyVJsbGx8vPzk4eHh+smBQAAKMUKHF3/fWpx1qxZ+uSTT9S7d2998sn/1979x1Z1138cf9GSgZoxLBMoOMWRjFRRzEYyoyExCgGzbjgWZDJRh9v+WDJxC0TcMgosDguLCdskxkz/mN8lOOJgQhASggaHBoeOKDJjgpAhlB+2IjJ+qLfn+4ffNePLnCtcPlvr4/EX955zL+/Tzx999pzb0//JkiVL6jIgAEB/0KtbRrxi8+bN5z03duzYrFmz5qIHAgDoj9yRHgCgANEFAFCA6AIAKEB0AQAUILoAAAoQXQAABYguAIACRBcAQAGiCwCgANEFAFCA6AIAKEB0AQAUILoAAAoQXQAABYguAIACRBcAQAGiCwCgANEFAFCA6AIAKEB0AQAUILoAAAoQXQAABYguAIACRBcAQAGiCwCgANEFAFCA6AIAKEB0AQAUILoAAAoQXQAABYguAIACRBcAQAGiCwCgANEFAFCA6AIAKEB0AQAUILoAAAoY2NsXnD17Ng8//HB+8YtfZNCgQfnwhz+chx56KPv27cvChQtz/PjxDB06NO3t7RkzZswlGBkAoO/pdXStWLEigwYNyubNmzNgwID8+c9/TpK0tbVl9uzZmT59ep599tksWrQoTz75ZN0HBgDoi3p1efHll1/OunXrMm/evAwYMCBJcuWVV6azszN79uxJa2trkqS1tTV79uxJV1dX/ScGAOiDenWm68CBAxk6dGgef/zx7NixI+94xzsyb968DB48OCNGjEhjY2OSpLGxMcOHD09HR0eampouyeAAAH1Jr8501Wq1HDhwIO9///vzzDPPZP78+bnnnnty6tSpSzUfAEC/0Kvoam5uzsCBA3suI06YMCHvfOc7M3jw4Bw5ciS1Wi3Jv+Ls6NGjaW5urv/EAAB9UK+iq6mpKddff322b9+eJNm3b186OzszZsyYtLS0ZMOGDUmSDRs2pKWlxaVFAID/0+vfXlyyZEnuv//+tLe3Z+DAgVm+fHmGDBmSxYsXZ+HChVm1alWGDBmS9vb2SzEvAECf1Ovouuqqq/L973//vOfHjh2bNWvW1GUoAID+xh3pAQAKEF0AAAWILgCAAkQXAEABogsAoADRBQBQgOgCAChAdAEAFCC6AAAKEF0AAAWILgCAAkQXAEABogsAoADRBQBQgOgCAChAdAEAFCC6AAAKEF0AAAWILgCAAkQXAEABogsAoADRBQBQgOgCAChAdAEAFCC6AAAKEF0AAAWILgCAAkQXAEABogsAoADRBQBQgOgCAChAdAEAFCC6AAAKEF0AAAWILgCAAkQXAEABAy/kRZ/4xCdy2WWXZdCgQUmS+fPnZ9KkSdm1a1cWLVqUs2fPZvTo0VmxYkWGDRtW14EBAPqiC4quJHn00UdzzTXX9Dzu7u7OggULsmzZskycODGrVq3KI488kmXLltVlUACAvqxulxd3796dQYMGZeLEiUmSW2+9NZs2barX2wMA9GkXfKZr/vz5qaoq1113Xe677750dHRk1KhRPdubmprS3d2d48ePZ+jQoXUZFgCgr7qgM11PPfVUfvSjH+WHP/xhqqrK0qVL6z0XAEC/ckHR1dzcnCS57LLLMnv27Pz6179Oc3NzDh061LNPV1dXGhoanOUCAMgFRNepU6fyt7/9LUlSVVU2btyYlpaWjB8/PmfOnMnOnTuTJKtXr860adPqOy0AQB/V6890dXZ25p577kmtVkt3d3fGjh2btra2NDQ0ZPny5WlrazvnlhEAAFxAdF111VVZt27da2679tprs379+oseCgCgv3FHegCAAkQXAEABogsAoADRBQBQgOgCAChAdAEAFCC6AAAKEF0AAAWILgCAAkQXAEABogsAoFOx7TUAAAq+SURBVADRBQBQgOgCAChAdAEAFCC6AAAKEF0AAAWILgCAAkQXAEABogsAoADRBQBQgOgCAChAdAEAFCC6AAAKEF0AAAWILgCAAkQXAEABogsAoADRBQBQgOgCAChAdAEAFCC6AAAKEF0AAAWILgCAAkQXAEABogsAoADRBQBQgOgCACjggqPr8ccfz7hx4/KHP/whSbJr167cdNNNmTp1aubOnZvOzs66DQkA0NddUHT97ne/y65duzJ69OgkSXd3dxYsWJBFixZl8+bNmThxYh555JG6DgoA0Jf1Orr+/ve/Z+nSpVm8eHHPc7t3786gQYMyceLEJMmtt96aTZs21W1IAIC+rtfRtXLlytx0001597vf3fNcR0dHRo0a1fO4qakp3d3dOX78eH2mBADo43oVXS+88EJ2796d2bNnX6p5AAD6pYG92fn555/P3r1788lPfjJJcvjw4XzpS1/KnDlzcujQoZ79urq60tDQkKFDh9Z3WgCAPqpXZ7ruuuuuPPfcc9m6dWu2bt2akSNH5rvf/W7uuOOOnDlzJjt37kySrF69OtOmTbskAwMA9EW9OtP17zQ0NGT58uVpa2vL2bNnM3r06KxYsaIebw0A0C9cVHRt3bq159/XXntt1q9ff9EDAQD0R+5IDwBQgOgCAChAdAEAFCC6AAAKEF0AAAWILgCAAkQXAEABogsAoADRBQBQgOgCAChAdAEAFCC6AAAKEF0A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\n",
      "text/plain": [
       "<Figure size 720x1440 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_log = codecs.open('./nohup.out').readlines()[1:]\n",
    "train_log = [x[:-1].split('\\t\\t') for x in train_log]\n",
    "\n",
    "train_loss, val_loss = [], []\n",
    "train_top1, val_top1 = [], []\n",
    "train_top3, val_top3 = [], []\n",
    "for log in train_log[1:]:\n",
    "    if 'Epoch' in log[0] or 'Train' in log[0]:\n",
    "        continue\n",
    "    \n",
    "    train_loss.append(float(log[1].split('/')[0]))\n",
    "    val_loss.append(float(log[2].split('/')[0]))\n",
    "    \n",
    "    train_top1.append(float(log[1].split('/')[1]))\n",
    "    val_top1.append(float(log[2].split('/')[1]))\n",
    "    \n",
    "    train_top3.append(float(log[1].split('/')[2]))\n",
    "    val_top3.append(float(log[2].split('/')[2]))\n",
    "\n",
    "plt.figure(figsize=(10, 20))\n",
    "\n",
    "plt.subplot(3, 1, 1)\n",
    "plt.plot(range(len(train_loss)), train_loss)\n",
    "plt.plot(range(len(val_loss)), val_loss)\n",
    "plt.legend(['Train', 'Val'])\n",
    "plt.title('Loss curve')\n",
    "\n",
    "plt.subplot(3, 1, 2)\n",
    "plt.plot(range(len(train_top1)), train_top1)\n",
    "plt.plot(range(len(val_top1)), val_top1)\n",
    "\n",
    "plt.plot(range(len(train_top3)), train_top3)\n",
    "plt.plot(range(len(val_top3)), val_top3)\n",
    "plt.legend(['Train Top1', 'Val Top1', 'Train Top3', 'Val Top3'])\n",
    "plt.title('Accuracy curve')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-07T03:03:23.352645Z",
     "start_time": "2018-11-07T03:03:23.342927Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'Train' in log"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-07T03:03:27.415704Z",
     "start_time": "2018-11-07T03:03:27.406320Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[\"('Train:', 16500000, 'Val', 500000)\"]"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "log"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
